<?php

class Sistema_CrontabController extends Zend_Controller_Action
{
    
    // wget http://www.pitiredacao.com.br/sistema/crontab/otimizarbanco
    public function otimizarbancoAction() {
        
        $this->_helper->layout->disableLayout(); 
        $this->_helper->viewRenderer->setNoRender();
        
        $db = Zend_Db_Table_Abstract::getDefaultAdapter(); 
        
        $arr = explode(',','`AGENDA_AVALIACAO`, `BLOG`, `CATEGORIA_BLOG`, `DEMARTO`, `FULLBANNER`, `GALERIA`, `INTERESSE`, `MENU`, `MODULOS`, `PACOTE`, `PARAMETROS`, `PERMISSAO`, `PERMISSAO_HAS_MODULO`, `PROCEDIMENTO`, `SISTEMA`, `SOBRE`, `TEXTOHOME`, `USUARIOS`');
        
        foreach($arr as $tabela){
            
            // Para desfragmentar uma tabela MyIsam basta rodar o seguinte comando:
            $query = "OPTIMIZE TABLE ".$tabela." ";
            $result = $db->query($query)->execute();
            echo $tabela.' OPTIMIZE : '.$result.'<br>';
            
            // Para reindexar as tabelas InnoDB:
            $query = "ALTER TABLE  ".$tabela." ENGINE = INNODB"; 
            $result = $db->query($query)->execute();
            echo $tabela.' ENGINE = INNODB : '.$result.'<br>'; 
        }
        
        $query = 'SELECT * FROM SISTEMA WHERE SIS_ID = 1';
        $result = $db->fetchRow($query);
        $db->update('SISTEMA',array('SIS_CRNTAB'=> $result['SIS_CRNTAB'] + 1,'SIS_CRNDAT'=>date('Y-m-d')),'SIS_ID = 1'); 
            
    }
    
    // wget http://www.pitiredacao.com.br/sistema/crontab/verificadatafimmatricula
    public function verificadatafimmatriculaAction(){
        
        $this->_helper->layout->disableLayout(); 
        $this->_helper->viewRenderer->setNoRender();
        
        $db = Zend_Db_Table_Abstract::getDefaultAdapter();
        
        $query = 'SELECT SQL_CACHE c.CUR_ID '
                . 'FROM CURSO c '
                . 'WHERE c.CUR_DATFIM < "'.date('Y-m-d').'" '
                . 'AND c.CUR_STA = 1 ';
        
        $result = $db->fetchAll($query);
        foreach($result as $row){
            
            $db->update('MATRICULA',array('MAT_STA'=>0),'CUR_ID = ' . $row['CUR_ID']); 
            
            $db->update('CURSO',array('CUR_STA'=>0),'CUR_ID = ' . $row['CUR_ID']); 
        }
        
        $query = 'SELECT * FROM SISTEMA WHERE SIS_ID = 1';
        $result = $db->fetchRow($query);
        $db->update('SISTEMA',array('SIS_CRNTAB'=> $result['SIS_CRNTAB'] + 1,'SIS_CRNDAT'=>date('Y-m-d')),'SIS_ID = 1'); 
            
    }
    
}

